package com.lyhui.nursingarticle5030.service.impl;

import com.lyhui.nursingarticle5030.pojo.Article;
import com.lyhui.nursingarticle5030.dao.ArticleMapper;
import com.lyhui.nursingarticle5030.service.ArticleService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * Article表的服务实现类
 *
 * @author lyhui
 * @create-time 2020-02-20 00:29:02
 */
@Service("articleService")
public class ArticleServiceImpl implements ArticleService {
    //private static final Logger logger = LoggerFactory.getLogger(ArticleServiceImpl.class);
    
    @Resource
    private ArticleMapper articleMapper;
    
    /**
     * 查询Article表的所有记录
     *
     * @return Article的实例对象集合List（封装了Article表的所有记录）
     */
    @Override
    public List<Article> queryAllArticle() {
        return this.articleMapper.queryAllArticle();
    }
    
    /**
     * 查询Article表中的一条记录
     *
     * @param  article（封装了相关查询条件）
     * @return Article的实例对象（封装了Article表的一条记录）
     */
     @Override
    public Article queryArticleByParam(Article article){
        if(article==null){
            return null;
        }
        return this.articleMapper.queryArticleByParam(article);
    }
    
    /**
     * 查询Article表中的多条记录
     *
     * @param  article（封装了相关查询条件）
     * @return Article的实例对象集合List（封装了Article表的多条记录）
     */
    public List<Article> queryArticleListByParam(Article article){
        if(article==null){
            return null;
        }
        return this.articleMapper.queryArticleListByParam(article);
    }
    
    /**
     * 在Article表中的添加一条记录
     *
     * @param  article（封装了想要添加的记录信息）
     * @return 添加记录的反馈结果(1:添加记录成功；0：添加记录失败)
     */
    @Override
    public int insertArticle(Article article) {
        if(article==null){
            return 0;
        }
        return this.articleMapper.insertArticle(article);
    }

    /**
     * 修改Article表中的一条记录
     *
     * @param  article（封装了准备修改的记录信息）
     * @return 修改记录的反馈结果(1:修改记录成功；0：修改记录失败)
     */
    @Override
    public int updateArticle(Article article) {
        if(article==null){
            return 0;
        }
        return this.articleMapper.updateArticle(article);
    }

    /**
     * 删除Article表中的一条记录
     *
     * @param  articleId ： Article表的主键
     * @return 删除记录反馈结果(1：删除记录成功|0：删除记录失败)
     */
    @Override
    public int deleteArticleById(Integer articleId) {
        if(articleId==null){
            return 0;
        }
        return this.articleMapper.deleteArticleById(articleId);
    }
}